package controlador;

import java.io.Serializable;
import java.util.List;
import modelo.Modelo;
import vista.Vista;

public interface Controlador <M extends Modelo, V extends Vista, D extends Serializable>{

    void setup(M modelo, List<V> vistas);
    void start();

    void addView(V vista);
    void removeView(V vista);
    List<V> getViews();

    M getModel();
    void setModel(M modelo);

    void nuevaEntidadGesture(List<D> datos);
    void borraEntidadGesture(D pk);
    void actualizaEntidadGesture(List<D> datos);

    void fireDataModelChanged();
}
